package ad;

import java.util.Scanner;

public class adfafa {

	static String uesr[][] = new String[100][4];

	// 书籍信息（编码（ISBN）、书籍名称、价格、出版社、作者）
	static String books[][] = new String[100][5];

	// 出版社信息（出版社名称、地址、联系人）
	static String pubs[][] = new String[100][3];
	// 信息扫描
	static Scanner sc = new Scanner(System.in);
	//
	static String loginUsers = "";

	public static void main(String[] args) {
		manger();
		init();
}
	
		private static void  manger() {
			while (true) {
		System.out.println("欢迎来到闽大图书管理系统！");
		System.out.println("1.登录 2.注册");
		Scanner sc = new Scanner(System.in);
		int key = sc.nextInt();

		switch (key) {
		case 1:
			// 登录
			log();
			break;
		case 2:
			// 注册
			register();
			break;

		}

	}
		}
	private static void log() {
		 
		System.out.println("请输入用户名：");
		String username = sc.next();
		System.out.println("请输入密码：");
		String passwords = sc.next();

		boolean flag = false;
		for (int i = 0; i < uesr.length; i++) {
			if (username.equals(uesr[i][1]) && passwords.equals(uesr[i][2])) {
				flag = true;
				break;

			}
		}
		if (flag) {
			System.out.println("登录成功！");
			loginUsers = username;
			Page();
		} else {
			System.out.println("该用户账号或者密码错误！请重新输入！");
			log();
		}
	}

	private static void Page() {
		System.out.println("欢迎使用闽大书籍管理系统");
		System.out.println("请选择数字：1.图书管理2.出版社3.退出登录4.退出系统");
		int key = sc.nextInt();
		switch (key) {
		case 1:
			 
			Book();
			break;
		case 2:
			 
			publish();
			break;
		case 3:
			 
			System.out.println();
			Page();
			break;
		case 4:
			 
			System.out.println("退出登录");
			
			break;

		default:
			break;
		}
	}
	private static void Book() {
	 
	System.out.println("请输入：1。增加  2.删除 3.更新 4.查询5.返回上一级菜单");
	int key =sc.nextInt();
	switch (key) {
	case 1:
		add2();
		break;
	case 2:
		delete2();
		break;
	case 3:
		update2();
		break;
	case 4:
		Select();
		break;
	case 5:
		Page();
		break;
	default:
		break;
	}
}
	private static void add2() {
		System.out.println("请输入图书Isbn");
		String isbn1=sc.next();
		System.out.println("请输入书名");
		String isbn2=sc.next();
		System.out.println("请输入价格");
		String isbn3=sc.next();		
		System.out.println("请输入出版社");
		String isbn4=sc.next();
		System.out.println("请输入作者：");
		String isbn5=sc.next();
		 Boolean flag =false;
		 for (int i = 0; i < books.length; i++) {
			if (isbn1.equals(books[i][0])) {
				flag =true;
				break;
			}
		}
		 if (flag) {
			 System.out.println("图书已存在，请重新输入");
			Book();
			
		}
		 else {
			//找空值(null)
		int index =-1;
		for (int i = 0; i < books.length; i++) {
			if (books[i][0]==null) {
				index=i;
				break;
			}
		}
		books[index][0]=isbn1;
		books[index][1]=isbn2;
		books[index][2]=isbn3;
		books[index][3]=isbn4;
		books[index][4]=isbn5;
		System.out.println("添加成功");
		Book();
		 }
	}
	private static void delete2() {
		//删除
		System.out.println("请输入要删除的书本编号：");
		String number=sc.next();
		 
				boolean flag=false;
				for (int i = 0; i < books.length; i++) {
				      if (number.equals(books[i][0])) {
				    	    books[i][0]=null;
					    	books[i][1]=null;
					        books[i][2]=null;
					    	books[i][3]=null;
					    	books[i][4]=null;
					    	System.out.println("删除成功 ");
				    	  flag=true;
							break;
					}
				}
				if (flag) {
					Book();
				}else {
					System.out.println("没有找到该书 \r\n"+"删除失败 ");
					Book();
				}
	}
	private static void update2() {
		 
		System.out.println("请输入Isbn编号：");
		String isbn1=sc.next();
		boolean flag=false;
		for (int i = 0; i < books.length; i++) {
		      if (isbn1.equals(books[i][0])) {
			    	books[i][1]=null;
			        books[i][2]=null;
			    	books[i][3]=null;
			    	books[i][4]=null;
			    	for (int j =1; j < books[i].length; j++) {
						System.out.println("请输入新的书名：");
			    		books[i][j]=sc.next();
			    		System.out.println("请输入新的价格：");
			    		books[i][j]=sc.next();
			    		System.out.println("请输入新的出版社：");
			    		books[i][j]=sc.next();
			    		System.out.println("请输入新的作者：");
			    		books[i][j]=sc.next();
			    		break;
					}
			    	System.out.println("更新成功 ");
		    	  flag=true;
					break;
			}
		}
		if (flag) {
	    	Book();
		}else {
			System.out.println("该ISBN号不存在！！！");
			Book();
		}
		
	}
	private static void  Select() {
		 		
		System.out.println("请输入要查询种类：1.isbn 2.书名（模糊）3.出版社 4.作者 5.价格范围 6.查询所有 7.返回上一级");
		int key=sc.nextInt();
		switch(key) {
		case 1:
		     
			isbn();
		    break;
		case 2:
             
			booksname();
		    break;
		case 3:
             
			publishs();
		    break;
		case 4:
            
			 author();
		    break;
		case 5:
		 
			price();

		    break;
		case 6:
           
			 all2();
		    break;
		case 7:
            
			Book();
		    break;
		default:
			break;
		}
		
	}
	private static void isbn() {
		 
		System.out.println("请输入Isbn号：");
		String isbn1=sc.next();
		boolean flag=false;
		System.out.print("isbn \t"+"书名  \t\t"+"价格  \t"+"出版社  \t"+"作者   \t\t");
		 System.out.println();
		for (int i = 0; i < books.length; i++) {
		     if (isbn1.equals(books[i][0])) {
		    	 for (int j = 0; j < books[i].length; j++) {
			    	 System.out.print(books[i][j]+"\t");
				}
              System.out.println();
		    	flag=true;
		     }
		}
		if (flag) {
			 Book();
		}else {
			System.out.println("找不到该编号的书，请重新选择查询！");
			 Book();
		}
	}
	private static void booksname() {}
	
	private static void publishs(){
		 
 		System.out.println("请输入出版社前的数字进行选择：1.黑龙江出版社 2.济南出版社");
       int number =sc.nextInt();
       String a="黑龙江出版社";
       String b="济南出版社";
        switch(number) {
        case 1:
        	boolean flag=false;
        	System.out.print("Isbn \t"+"书名  \t\t"+"价格  \t"+"出版社  \t"+"作者   \t\t");
			System.out.println();
        	for (int i = 0; i < books.length; i++) {
					if (a.equals(books[i][3]) && books[i][0]!=null) {
						for (int j = 0; j < books[i].length; j++) {
							System.out.print(books[i][j]+"\t");
						}
						System.out.println();
					}
			   flag=true;
			}
        	if (flag) {
    			 Book();
    		
    		}else {
    			System.out.println("找不到该出版社的书，请重新选择查询 ");
    			 Book();
    		}
        	break;
        case 2:
        	boolean flag2=false;
        	System.out.print("ISBN \t"+"书名  \t\t"+"价格  \t"+"出版社  \t"+"作者   \t\t");
			System.out.println();
        	for (int i = 0; i < books.length; i++) {
					if (b.equals(books[i][3]) && books[i][0]!=null) {
						for (int j = 0; j < books[i].length; j++) {
							System.out.print(books[i][j]+"\t");
						}
						System.out.println();
					}
			   flag2=true;
			}
        	if (flag2) {
    			 Book();
    		
    		}else {
    			System.out.println("找不到该出版社的书，请重新选择查询 ");
    			 Book();
    		}
        	break;
        default:
			break;
        }
	}
	private static void author() {
		 
		System.out.println("请输入作者姓名：");
		String isbn1=sc.next();
		boolean flag=false;
		System.out.print("ISBN \t"+"书名  \t\t"+"价格  \t"+"出版社  \t"+"作者   \t\t");
		 System.out.println();
		for (int i = 0; i < books.length; i++) {
		     if (isbn1.equals(books[i][4]) && books[i][0]!=null) {
		    	 for (int j = 0; j < books[i].length; j++) {
		    		 System.out.print(books[i][j]+"\t");
		    	 }
		    	 System.out.println();
		     }
		     flag=true;
		}
		if (flag) {
			System.out.println();
			 Book();
		}else {
			System.out.println("找不到该作者的书，请重新选择查询 ");
			 Book();
		}
	}
	private static void price() {
		 
		System.out.println("请输入最低价格：");
		int min=sc.nextInt();
		System.out.println("请输入最高价格：");
		int max=sc.nextInt();
		
		boolean flag=false;
		System.out.print("Isbn \t"+"书名  \t\t"+"价格  \t"+"出版社  \t"+"作者   \t\t");
		System.out.println();
		for (int i = 0; i < books.length; i++) {
			if (books[i][0]!=null) {
				double a = Double.parseDouble(books[i][2]);
				if (min<=a && a<=max) {
					for (int j = 0; j < books[i].length; j++) {
						System.out.print(books[i][j]+"\t");
						flag=true;
					}
					System.out.println();
				}
			}else {
				break;
			}
		}
		if (flag==false) {
			System.out.println("没有这价格之间的书 ");
		}
		 Book();
	}
	private static void   all2() {
		 
		System.out.print("Isbn \t"+"书名  \t\t"+"价格  \t"+"出版社  \t"+"作者   \t\t");
		System.out.println();
		for (int i = 0; i < books.length; i++) {
			if (books[i][0]!=null) {
				System.out.print(books[i][0]+"\t");
		    	 System.out.print(books[i][1]+"\t");
		    	 System.out.print(books[i][2]+"\t");
		    	 System.out.print(books[i][3]+"\t");
		    	 System.out.print(books[i][4]+"\t");
		    	 System.out.println();
			}
		}
		 Book();
		
	}
	private static void publish() {
		// 出版社管理
		System.out.println("请输入：1。增加  2.删除 3.更新 4.根据出版社名称查询5.查询所有出版社 6.返回上一级菜单");
		int key = sc.nextInt();
		switch (key) {
		case 1:
			add();
			break;
		case 2:
			delete();
			break;
		case 3:
			update();
			break;
		case 4:
			name();
			break;
		case 5:
			all();
			break;
		case 6:
			Page();
			break;
		default:
			break;
		}
	}
private static void add() {
	System.out.println("请输入出版社名称：");
	String isbn1=sc.next();
	System.out.println("请输入出版社地址");
	String isbn2=sc.next();
	System.out.println("请输入出版社联系人");
	String isbn3=sc.next();
	//找重
	boolean flag = false;
	for (int i = 0; i < pubs.length; i++) {
		if (isbn1.equals(pubs[i][0])) {
			flag=true;
			break;
		}
	}
}
	private static void delete() {

		System.out.println("请输入要删除的出版社名称：");
		String number = sc.next();

		int index = -1;

	}

	private static void update() {
		System.out.println("请输入要更新的出版社名称：");
		String isbn1 = sc.next();
		for (int i = 0; i < pubs.length; i++) {
			if (isbn1.equals(pubs[i][0])) {
				System.out.print("出版社名称 \t" + "地址 \t" + "联系人 ");
				System.out.println();
				System.out.print(pubs[i][0] + "\t");
				System.out.print(pubs[i][1] + "\t");
				System.out.print(pubs[i][2] + "\t");
				break;
			}
		}
		System.out.println();
		boolean flag = false;
		for (int a = 0; a < pubs.length; a++) {
			if (isbn1.equals(pubs[a][0])) {
				pubs[a][1] = null;
				pubs[a][2] = null;
				for (int j = 1; j < pubs.length; j++) {
					System.out.println("请输入新的地址：");
					pubs[a][1] = sc.next();
					System.out.println("请输入新的联系人：");
					pubs[a][2] = sc.next();
					break;
				}
				System.out.println("更新成功");
				flag = true;
				break;
			}
		}
		if (flag) {
			for (int i = 0; i < pubs.length; i++) {
				if (isbn1.equals(pubs[i][0])) {
					System.out.print("出版社名称 \t" + "地址 \t" + "联系人 ");
					System.out.println();
					System.out.print(pubs[i][0] + "\t");
					System.out.print(pubs[i][1] + "\t");
					System.out.print(pubs[i][2] + "\t");
					break;
				}
			}
			System.out.println();
			publish();
		} else {
			System.out.println("该出版社不存在");                                                                                                                              
			publish();
		}
	}

	private static void name()
	{
		System.out.println("请输入出版社名称：");
		String isbn1 = sc.next();
		Boolean flag = false;
		for (int i = 0; i < pubs.length; i++) {
			if (isbn1.equals(pubs[i][0])) {
				System.out.println("出版社名称：" + pubs[i][0]);
				System.out.println("出版社地址：" + pubs[i][1]);
				System.out.println("出版社联系人：" + pubs[i][2]);
				flag = true;
				break;

			}
		}
		if (flag) {
			System.out.println();
			Page(); 

		} else {
			System.out.println("找不到该出版社，请重新选择查询");
			publish();

		}

	}
	
private static void all() {
	System.out.print("出版社名称 \t\t"+"地址  \t\t"+"联系人  \t");
	System.out.println();
	for (int i = 0; i < pubs.length; i++) {
		if (pubs[i][0]!=null) {
			System.out.print(pubs[i][0]+"\t");
	    	 System.out.print(pubs[i][1]+"\t");
	    	 System.out.print(pubs[i][2]+"\t");
	    	 System.out.println();
		}
	}
	 Page(); 
}
	 
	private static void register() {
		// 注册模块
		System.out.println("请输入所属部门：");
		String deptName = sc.next();
		System.out.println("请输入用户名：");
		String username = sc.next();
		System.out.println("请输入密码：");
		String passwords = sc.next();
		 
		int index = -1;
		for (int i = 0; i < uesr.length; i++) {
			if (uesr[i][0] == null) {
				index = i;
				break;
			}
		}
		// 赋值
		uesr[index][0] = deptName;
		uesr[index][1] = username;
		uesr[index][2] = passwords;
		System.out.println("注册成功 ");

	}
	private static void init() {
		 
		uesr[0][0]="行政部";//部门
		uesr[0][1]="admin";//用户名
		uesr[0][2]="123";//密码
		uesr[0][3]="管理员";//用户角色
		
		uesr[1][0]="软件部";//部门
		uesr[1][1]="a";//用户名
		uesr[1][2]="123";//密码
		uesr[1][3]="技术员";//用户角色
		
		//书籍信息初始化
		books[0][0]="10086";//编码（ISBN）
		books[0][1]="东宫";//书籍名称
		books[0][2]="25";//价格
		books[0][3]="黑龙江出版社";//出版社
		books[0][4]="匪我思存";//作者

		books[1][0]="12582";//编码（ISBN）
		books[1][1]="步步惊心";//书籍名称
		books[1][2]="30";//价格
		books[1][3]="济南出版社";//出版社
		books[1][4]="桐华";//作者

		//出版社信息
		pubs[0][0]="黑龙江出版社";//出版社名称
		pubs[0][1]="黑龙江省哈尔滨市";//地址
		pubs[0][2]="二花";//联系人
		
		pubs[1][0]="济南出版社";//出版社名称
		pubs[1][1]="山东省济南市";//地址
		pubs[1][2]="三喵";//联系人
		
	}


}




	 

 
